-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AP_GPS: added GPS_DRV_OPTIONS for fully parsing RTCMv3 injection #26317
Conversation
f2a8833
to
f17ad7f
Compare
f17ad7f
to
12408df
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just one comment
Any reason we should not do this by default? |
maybe we should automatically enable this if we see GPS RTCM packets on more than 1 MAVLink channel? |
pending testing from @ntamas and @andyp1per |
12408df
to
60536c6
Compare
I've now made it automatic when it sees RTCM on multiple channels. It can be disabled with the option (for the case where users are injecting non-RTCM data) |
60536c6
to
4cf8c9a
Compare
Tested the latest version today (only in the lab yet, with a pre-recorded RTCM stream) and it seemed to work well! It was slightly confusing that injection on one channel only does not trigger the writing of the I also had to |
One more comment: |
we could have a separate RTCM message broken out of GPA for that use case, but I don't think it is worth it |
with newer receivers, RTCMv3 packets can be larger than 300
this allows for redundent RTCM links (eg. WiFi and SiK links for light show drones) without causing corruption into the GPS. If the GPS_DRV_OPTION bit is set then we instantiate a separate RTCM3 decoder per mavlink channel, and only inject when we get a full packet that passes the RTCM 24 bit CRC
4cf8c9a
to
74d2c97
Compare
@tridge We tested the injection with 20 drones and two simultaneous channels last Thursday and everything worked fine, thank you! I'm leaning towards patching the Skybrush branch to always have bit 6 set in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The two new driver options are pretty esoteric but most users won't need to understand or change them and from testing it seems they're required so fine with me.
Very nice work @tridge! Also amazed at how quickly you knocked this together |
This adds full RTCM parsing of incoming RTCM injection if it sees RTCM coming in on more than one MAVLink channel.
This allows for setups where you have redundency in comms links, such as is common for light show drones which may inject RTCM data via both WiFi and a SiK radio setup as receive only
This also gets RTCM logging at the message ID level, allowing you to debug RTCM injection issues with a lot more detail
Two new GPS_DRV_OPTIONS are added: